package org.jeecg.modules.app.v1.shop.entity;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.modules.power.util.annotation.NullNote;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 新增门店接口实体类
 *
 * @author scw
 * @version v1.0
 * @date 2024-07-09
 */
@Data
public class ApiAddShopEntity implements Serializable {

    private static final Long serialVersionUID = 1L;

    @ApiModelProperty(value = "数据主键-修改信息必传")
    private String id;
    /**店铺名称*/
    @ApiModelProperty(value = "店铺名称")
    @NullNote(value = "店铺名称",rules = "rule1")
    private java.lang.String shopName;
    /**店铺Logo*/
    @ApiModelProperty(value = "店铺Logo")
    @NullNote(value = "店铺Logo",rules = "rule1")
    private java.lang.String shopLogo;
    /**门店BD*/
    @ApiModelProperty(value = "门店BD（新增门店不用传参）")
    private java.lang.String shopBd;
    @ApiModelProperty(value = "门店BD（新增门店不用传参）")
    private java.lang.String BdId;
    /**门店品类*/
    @ApiModelProperty(value = "门店品类")
    @NullNote(value = "门店品类",rules = "test1")
    private java.lang.String shopCategory;
    /**经纬度*/
    @ApiModelProperty(value = "经度")
    @NullNote(value = "门店经度",rules = "rule1")
    private java.lang.String shopLng;
    /**经纬度*/
    @ApiModelProperty(value = "纬度")
    @NullNote(value = "门店纬度",rules = "rule1")
    private java.lang.String shopLat;

    /**店铺位置*/
    @ApiModelProperty(value = "门店位置")
    @NullNote(value = "门店位置",rules = "rule1")
    private java.lang.String shopAddress;

    /**门店省市区*/
    @ApiModelProperty(value = "门店省市区")
    @NullNote(value = "门店省市区",rules = "rule1")
    private java.lang.String shopArea;
    /**补充地址*/
    @ApiModelProperty(value = "补充地址")
    private java.lang.String suppleAddress;
    /**路*/
    @ApiModelProperty(value = "路")
    @NullNote(value = "门店所在的路",rules = "rule1")
    private java.lang.String shopRoad;
    /**楼层*/
    @ApiModelProperty(value = "楼层")
    private java.lang.String shopFloor;
    /**楼层*/
    @ApiModelProperty(value = "楼层描述")
    private java.lang.String shopFloorDescription;
    /**门牌号*/
    @ApiModelProperty(value = "门牌号")
    @NullNote(value = "门店所在的门牌号",rules = "rule1")
    private java.lang.String houseNumber;

    /**竞对情况*/
    @ApiModelProperty(value = "竞对情况")
    private java.lang.String competition;
    /**组织*/
    @ApiModelProperty(value = "组织")
    private java.lang.String orgId;
    /**营业时间*/
    @ApiModelProperty(value = "营业时间")
    @NullNote(value = "营业时间",rules = "rule1")
    private java.lang.String businessTime;
    /**联系人*/
    @ApiModelProperty(value = "联系人")
    @NullNote(value = "门店联系人",rules = "rule1")
    private java.lang.String contactsName;
    /**联系电话*/
    @ApiModelProperty(value = "联系电话")
    @NullNote(value = "联系电话",rules = "rule1")
    private java.lang.String contactsTel;
    @ApiModelProperty(value = "座机")
    private java.lang.String contactsMobile;
    /**设备图片*/
    @ApiModelProperty(value = "设备图片")
    @NullNote(value = "门店设备图片",rules = "rule1")
    private java.lang.String deviceImage;
    /**设备位置*/
    @ApiModelProperty(value = "设备位置")
    @NullNote(value = "门店设备位置",rules = "rule1")
    private java.lang.String deviceLocation;
    /**设备描述*/
    @ApiModelProperty(value = "设备描述")
    private java.lang.String deviceDescription;

    /**运营BD与门头合照*/
    @ApiModelProperty(value = "运营BD与门头合照")
    @NullNote(value = "门店运营BD与门头合照",rules = "rule1")
    private java.lang.String shopImage;
    /**营业执照*/
    @ApiModelProperty(value = "营业执照")
    @NullNote(value = "门店营业执照",rules = "rule1")
    private java.lang.String businessImage;

    /**门店备注信息*/
    @ApiModelProperty(value = "门店备注信息")
    private java.lang.String shopRemark;

    /**门店状态*/
    @ApiModelProperty(value = "门店状态")
    private java.lang.Integer shopStatus;

    /**设备信息*/
    @ApiModelProperty(value = "设备信息")
    @NullNote(value = "设备信息",rules = "rule1")
    private List<DeviceInfo> device = new ArrayList<>();

    @Data
    public static class DeviceInfo{
        private String mac;
        private String id;
        private String deviceId;
        private String location;
        /**
         * 设备状态1仓库2BD3门店9其他
         */
        private Integer type;
    }

}
